Service-oriented architecture is an information technology where business functionality, e.g., software application components, may be made available as shared, reusable services on a network, such as the Internet. The architecture loosely couples components that are capable of interacting in standardized, transparent ways, regardless of the platforms, vendors or technologies running the components.
Using service-oriented architecture, organizations may be more responsive and efficient because flexible, standards-based components can be developed, combined, and deployed rapidly. In business organizations, the architecture enables the rapid deployment of new technologies to capitalize on opportunities in dynamic markets.
The architecture itself is maintained with an administrative toolset where the available components are documented. This documentation is made available to potential users of the architecture to inform them what components are available, and how to use them. The documentation is typically stored in a database, or repository.
In some instances, an organization may use multiple repositories. For example, each department within an organization may have its own repository.
When an organization builds software interfaces between departments, services may be migrated, or copied, among the different repositories. When services are migrated, the associated repository data is also migrated.
Current tools that migrate repository data are limited to networked architectures. Further limits with regard to customizing what is migrated make these tools inefficient for organizations looking to capitalize on efficiencies provided by the architecture.